RYGAR DATA 1.0 2018 Optomon Table of Contents -------------------------------- I. DOOR DATA - Area index values - Door locations and contents - Door sprite locations - Door exit locations II. TEXT DATA - Text decryption key - Giant old man messages III. SPRITE BEHAVIOUR INDEX IV. SPRITE FRAMES INDEX - Rygar Sprites - Non-Rygar Sprites -------------------------------- ================================ I. DOOR DATA ================================ ----------------------------- Area Index Values ----------------------------- Based on address $1C, each area type has a reference value: 00-01 GARLOZ 02-03 DORAGO PALACE 04-05 SKY CASTLE 06-07 MT PRIMEVAL 08-09 SAGILA DEN 0A-0B SUNSET 0C-0D ERUGA SWAMP 0E-0F SUNRISE 10-11 GRAN MOUNTAIN 12-13 RAGUA SANDO 14-15 LAPIS 16-17 TOWER OF GARBA 18-19 ROLSA 1A-1B BOSS ROOM 1C-1D GIANT OLD MAN ROOM ----------------------------- Door Locations and content ----------------------------- There are 103 (0x67) doors in the game. 0x $16731: index to start reading door data for each area, based on $1C. (00 for Garloz, 0C for Dorago Palace, 13 for Sky Castle, etc) 0x $16741: Location of the doors' X position on the level map (checks address $2F, the players current X map position). The first door "0E" is the far lower left door in Garloz. 0x $167A8: Location of the doors' Y position on the level map (checks address $2E, the players current Y map position). 0X $1680F: The content of the door. If the value is: If 00-47: player will appear in a specific location on a particular map based on the given value. I don't know yet where these are defined. For example, "2F" is the game's first door (0x $16857) takes the player to the left side of Gran Mountain. If 48-7F: player is taken to a glitchy non-predefined location. If 80-A4: giant old man room with specific message. The message to be displayed is located at 0x $DB04. If A5-EF: undefined glitchy old man rooms. If F0-F3: tunnels in the Sky Castle F0: go left F1: go right F2: go up F3: go down If F4: exit from giant old man room. If F5-FF: who knows... 0x 16875: giant old man rom exits. Location is based on same index values defined in 00-47. ----------------------------- Door Sprite locations ----------------------------- The appearance of the door's sprite on each map are based on specific values defined from the pointer table at 0x $1A020 (indexed by $1C for each area). For example, Gran Mountain (value 10-11, "78A0", ) has 9 doors starting at 0x $1A088. Each door has two bytes, starting with the left most door to the right most. The first door is "02 3A", that is: 02: screen 0 (far left), player X position 2 3A: floor 3 (bottom), player y position A However... this is only for the door's sprite. For the actual player's exit location on the map, it is in a separate table. see this next section. ----------------------------- Door Exit Locations ----------------------------- There are officially 76 (0x4C) exit locations in the game. They are actually locations for the player to load to and aren't necessarily tied to door exits, such as with the starting room and the game's ending sequence. These tables define their attributes based on the door number's value (00-4C from the 0x$1680F table): 0x $1868E: The area the player will appear 0x $186DA: The floor 0x $18726: 1st nybble=screen + 1 , 2nd nybble=? 0x $18772: The Y position 0x $1880A: The X position ================================ II. TEXT DATA ================================ ----------------------------- TEXT DECRYPTION KEY ----------------------------- FE = END LINE FF = END TEXT C8 = A C9 = B CA = C CB = D CC = E CD = F CE = G CF = H D0 = I D1 = J D2 = K D3 = L D4 = M D5 = N D6 = O D7 = P D8 = Q D9 = R DA = S DB = T DC = U DD = V DE = W DF = X E0 = Y E1 = Z 5C 5D 5E 5F 74 75 73 76 = GRAPPLING 68 = 0 69 = 1 6A = 2 6B = 3 6C = 4 6D = 5 6E = 6 6F = 7 70 = 8 71 = 9 00 = SPACE 01 = & AND 80 = , COMMA 81 = . PERIOD 82 = " LEFT QUOTE 83 = " RIGHT QUOTE 84 = ' APOSTROPHE 85 = r REGISTER SYMBOL 86 = ? QUESTION MARK 87 = ! EXCLAMATION MARK E2 = c COPYRIGHT SYMBOL ----------------------------- Giant Old Man Messages ----------------------------- 0x $DB04: 37 (0x25) old man doors and which message is displayed 0x $DB29: Pointer table for 31 (0x1F) messages below 0x $DB67: The content of the messages ROUGH CONTENT OF THE MESSAGES, WITHOUT PUNCTUATION MARKS: 00- WELCOME TAKE A REST TO REGAIN YOUR STRENGTH 01- DO YOU HAVE THE GOD'S COAT OF ARMS YET 02- O GREAT WARRIOR YOU HAVE EARNED THE COAT OF ARMS 03- THE GRAPPLING WEAPON WILL HELP YOU COMPLETE YOUR QUEST 04- I'M INDORA I'LL GIVE YOU A PULLEY YOU MUST USE TO CROSS 05- I'M INDORA I'LL GIVE YOU THIS CROSSBOW 06- YOU CAN USE INDORA'S SUIT OF ARMOUR FOR PROTECTION 07- O GREAT WARRIOR I'LL ALSO GIVE YOU A COAT OF ARMS 08- PLAY THIS INSTRUMENT ATOP THE TOWER OF LILE 09- YOU CAN SEE THE PALACE OF DORAGO ABOVE THIS ISLAND 0A- FROM HERE YOU CAN'T GO ON WITHOUT THE GRAPPLING WEAPON 0B- WHEN YOU GET TO GARLOZ FIRST GO WEST THEN GO NORTH 0C- AROVE HERE IN THE SKIES OF ROLSA IS A FLOATING CASTLE 0D- IN THE GRAN MOUNTAIN LIES THE ENTRANCE TO GARLOZ 0E- FROM THIS POINT YOU CAN'T GO ON WITHOUT CROSSBOW 0F- IF YOU DARE APPROACH GARBA FOUND ATOP THIS MOUNTAIN 10- YOU MUST MEET 5 INDORAS TO REACH THE CASTLE 11- CONTINUE STRAIGHT IN THE TOP CAVE TO SEE THE SUNSET 12- A MONSTER ERUGA LIVES DEEP WITHIN THIS FOREST 13- YOU CAN GO NO FURTHER YOU MUST GO BACK THE WAY YOU CAME 14- YOU NEED THE GRAPPLING TO CONTINUE PAST LAPIS 15- WELL DONE BUT YOU WILL FACE MORE DIFFICULT CHALLENGES 16- PLEASE GO DOWN FROM HERE LAPIS AWAITS YOU 17- IF YOU SEE DORAGO ASK HIM TO RELEASE MY DAUGHTER 18- YOUR QUEST IS HALF COMPLETED FIGHT ON 19- MEET THE HERMIT WHO LIVES AT THE NEARBY LION FOUNTAIN 1A- FIGHT FIGHT FIGHT 1B- DEFEATING LIGAR WILL AGAIN RETURN PEACE TO ARGOOL 1C- MEET THE 5 WAR GODS INDORA TO ACQUIRE SPECIAL POWERS 1D- THERE ARE MANY STRONG ENEWIES IN THE TOWER OF GARBA 1E- IT'S 2AM AND TIME FOR THE MONSTERS TO AWAKEN ================================ III. SPRITE BEHAVIOUR INDEX ================================ Behaviour is indexed from $4A2 Player: $4A2 Diskarmor: $4A3 Enemies: $4A4 to $4B1 Note: (OH) means for overhead sections 00- RYGAR 01- RYGAR (OH) 02- PRAGOKELIS 03- DISKARMOR 04- ROLPHER 05- HYOKING 06- MOLGOLIN 07- BELZAR HEAD 08- BELZAR NECK 09- BELZAR SHOT 0A- SUN 0B- GIANT OLD MAN 0C- OFBIS 0D- ROBOT BARGAN 0E- ROBOT BARGAN SHOT 0F- ERUGA 10- ERUGA SHOT 11- KINOHLE 12- KINOHLE SHOT 13- KINATARNOS 14- KINATARNOS SHOT 15- PIT FLAME 16- MUTANT BABY 17- GRAN MTN LIZARD 18- EPOLSOM 19- EPOLSOM EGG 1A- SAGILA 1B- DORAGO 1C- DORAGO SHOT 1D- DEAD ENEMY 1E- ITEM 1F- LIGAR 20- LIGAR SHOT ================================ IV. SPRITE FRAME INDEX ================================ Sprite frames are indexed from $562 player: $562 diskarmor: $563 enemies: $564 to $571 The player sprite draws it's sprite animation frames from a different table than that of all the other sprites in the game. Wise move by the developers. Note: (OH) means for overhead sections ----------------------------- Rygar's sprite frames: ----------------------------- 01-02 RYGAR STAND 03-04 RYGAR JUMP 05-0A RYGAR WALK 0B-0C RYGAR DUCK 0D-0F RYGAR CLIMB 13-24 RYGAR WALK/STAND (OH) 25-28 RYGAR JUMP (OH) 29-2A RYGAR PULLEY (OH) 2B-2C RYGAR HIT 2D-2E RYGAR DEAD 2F RYGAR HIT (OH) 30-31 RYGAR DEAD (OH) 32-35 RYGAR DROWN (OH) 36-37 RYGAR WHIP STAND 38-39 RYGAR WHIP DUCK 3C-3D RYGAR WHIP JUMP 3E-45 RYGAR WHIP (OH) 46-47 RYGAR GRAPPLE ----------------------------- Non-Rygar sprite frames: ----------------------------- 01-04 PRAGOKELIS 05-0C DISKARMOR (OH) 0D-12 DISKARMOR 13-22 ROLPHER 23-28 HYOKING 29-2E MOLGOLIN 2F-31 BELZAR 32-33 BELZAR SHOT 34 SUN 35 GIANT OLD MAN 36 INDORA GOD 37-3E OFBIS 3F-4A ROBOT BARGAN 4B-4C ROBOT BARGAN SHOT 4D-50 ERUGA 51-52 KINOHLE 53 KINOHLE SHOT 54-57 KINATARNOS 58-59 KINATARNOS SHOT 5A-5B PIT FLAME 5C-63 MUTANT BABY 64-69 GRAN MTN LIZARD 6A-6F EPOLSOM 70-72 EPOLSOM EGG 73-82 SAGILA 83-85 DEAD ENEMY 86-88 DEAD ENEMY (OH) 89 POTION 8A POWER STAR 8B POWER STARS 8c POTION (OH) 8D POWER STAR (OH) 8E POWER STARS (OH) 8F-95 OLD MAN ITEMS 96-97 DORAGO 98-99 DORAGO SHOT 9A-9C LIGARD 9D LIGAR SHOT 9E-A1 PEACE DOOR A2-A4 DOVE SCREEN A5 "END"